package cn.imu.appdevexperiment2020.Application.api;

import java.util.Map;

import cn.imu.appdevexperiment2020.Application.bean.ClassBean;
import cn.imu.appdevexperiment2020.Application.bean.ClassListBean;
import cn.imu.appdevexperiment2020.Application.bean.user.EditReceiveBean;
import cn.imu.appdevexperiment2020.Application.bean.user.EditSendBean;
import cn.imu.appdevexperiment2020.Application.bean.user.UserBean;
import cn.imu.appdevexperiment2020.Application.bean.user.UserListBean;
import cn.imu.appdevexperiment2020.Application.bean.user.LoginReceiveBean;
import cn.imu.appdevexperiment2020.Application.bean.user.LoginSendBean;
import cn.imu.appdevexperiment2020.Application.bean.user.RegisterReceiveBean;
import cn.imu.appdevexperiment2020.Application.bean.user.RegisterSendBean;
import cn.imu.appdevexperiment2020.Application.bean.user.ResetPwdReceiveBean;
import cn.imu.appdevexperiment2020.Application.bean.user.ResetPwdSendBean;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;
import retrofit2.http.QueryMap;

public interface Api {
    @POST(GetApi.register)
    Call<RegisterReceiveBean> register(@QueryMap Map<String,String> map, @Body RegisterSendBean registerSendBean);
    @POST(GetApi.login)
    Call<LoginReceiveBean> login(@QueryMap Map<String,String> map, @Body LoginSendBean loginSendBean);
    @POST(GetApi.resetPwd)
    Call<ResetPwdReceiveBean> resetPwd(@QueryMap Map<String,String> map, @Body ResetPwdSendBean resetPwdSendBean);
    @POST(GetApi.edit)
    Call<EditReceiveBean> edit(@QueryMap Map<String,String> map, @Body EditSendBean editSendBean);
    @GET(GetApi.list)
    Call<UserListBean> list(@QueryMap Map<String,String> map, @Query("sex") String sex, @Query("classesId")int classesId);
    @GET(GetApi.getByUserName)
    Call<UserBean> getByUserName(@QueryMap Map<String,String> map, @Query("userName") String userName);
    @GET(GetApi.getById)
    Call<UserBean> getById(@QueryMap Map<String,String> map, @Query("userId") String userId);
    @GET(GetApi.classeslist)
    Call<ClassListBean> classeslist(@QueryMap Map<String,String> map, @Query("parentId") String parentId,@Query("leader") String leader);
    @GET(GetApi.getClasses)
    Call<ClassBean> getClasses(@QueryMap Map<String,String> map, @Query("classesId") String classesId);
}
